﻿namespace EventBusNet6;

public interface IGhostscirptService
{

    /// <summary>
    /// PDF转png
    /// </summary>
    /// <param name="inputPath"></param>
    /// <param name="guid"></param>
    string ConvertPDF2PNG(string inputPath, string guid);

    /// <summary>
    /// PDF转jpeg
    /// </summary>
    /// <param name="inputPath"></param>
    /// <param name="guid"></param>
    string ConvertPDF2JPEG(string inputPath, string guid);

    /// <summary>
    /// pdf压缩
    /// </summary>
    /// <param name="inputPath"></param>
    /// <param name="guid"></param>
    string PdfCompression(string inputPath, string guid);


    /// <summary>
    /// pdf拆分
    /// </summary>
    /// <param name="inputPath"></param>
    /// <param name="guid"></param>
    /// <param name="splitFirstPage">拆分页索引</param>
    /// <param name="splitLastPage">拆分页索引</param>
    /// <returns></returns>
    string PdfSplit(string inputPath, string guid, int splitFirstPage, int splitLastPage);


    /// <summary>
    /// 合并Pdf
    /// </summary>
    /// <param name="inputPath"></param>
    /// <param name="guid"></param>
    /// <returns></returns>
    string PdfCombined(string inputPath, string guid);

    /// <summary>
    /// 转换pdf成png图片，可以指定开始页结束页
    /// </summary>
    /// <param name="inputPath"></param>
    /// <param name="guid"></param>
    /// <param name="firstPage"></param>
    /// <param name="lastPage"></param>
    /// <returns></returns>
    string Pdf2PngOptPage(string inputPath, string guid, int firstPage, int lastPage);

}
